package com.example.administrator.mydagger2.view;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;

import com.example.administrator.mydagger2.R;
import com.example.administrator.mydagger2.di.component.DaggerAppleComponent3;
import com.example.administrator.mydagger2.di.module.AppleModule3;
import com.example.administrator.mydagger2.modle.Apple;
import com.example.administrator.mydagger2.scope.Type;

import javax.inject.Inject;

/**
 * 为了测试MainActivity与Main2Activity引用的的为同一个Apple对象，
 * 本类为单独写的AppleModule3与AppleCompoent3单独实例
 */
public class Main3Activity extends AppCompatActivity {
    @Inject//注入对象
    @Type("name")//注解标志选择    注意：（如果是限定作用域的对象再使用注解标志会实例化新对象，无法共享对象）
    public Apple apple;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main3);
        /*因为注解标志，实例化对象需要传参，使用下面方法*/
        DaggerAppleComponent3.builder().appleModule3(new AppleModule3("罗浩")).build().Inject(this);
        apple.orange();
        apple.dagger("西瓜");
        Log.i("luohao", "onCreate:Main2Activity" + apple);
    }
}
